#!/usr/bin/python
"""# -*- coding: utf-8 -*-"""

import os
import sys
import pygeoip
import re
import csv
import getpass
from argparse import ArgumentParser

from SQLite3_auth import *
from crypto import *
from lpd_commons import *
from crypt02 import *

#---------------------------------------------------------------------------

class arginput():
    """
    Argumentos de entrada
    """
    parser = ArgumentParser(description="Ferramenta para tratamento de ficheiro de log da Firewall")

    parser.add_argument('-v',   help="Mostra a versao do programa", 
                                action='version',   version='%(prog)s 1.0')
    parser.add_argument("-in",  dest="file_input", help="Ficheiro de entrada", metavar="<ficheiro de log>", default=None  )
    parser.add_argument("-csv", help="Ficheiro de Saida CSV - nao acrescentar a extensao ela e gerada automaticamente",
                                dest="csv_out",    metavar="<ficheiro>", default=None )
    parser.add_argument("-pdf", help="Ficheiro de Saida PDF - nao acrescentar a extensao ela e gerada automaticamente",
                                dest="pdf_out",  metavar="<ficheiro>", default=None )
    parser.add_argument("-sql", help="Guardar os dados do log na base de dados",
                                dest="sql_out",  action="store_true", default=False )
    parser.add_argument("-q",   help="Imprime mensagens no ecran",
                                dest="verbose", action="store_false", default=True )

    args = parser.parse_args()    


#---------------------------------------------------------------------------
class main():
    if arginput.args.file_input != None:
        print "\n\tErro:tem de indicar um ficheiro de log com a opcao -in\n"
        os.system("python parser01.py -h")
        quit()
    else:
        nome = raw_input("Login: ")
        passwd = getpass.getpass("Password: ")
        validate = Validate_Login(nome, passwd)
        
        if not validate:
            print "Autenticacao falhada: Utilizador ou password invalidos"
            quit()
        

    
    a = DAO()
    li=[]   
    #aa = []
    print "Em execucao "+chr(226)+chr(150)+chr(136)
    aa = (a.get_rows("SELECT * FROM ufw"))
    for k in aa:
        bb = [xor(k[0]),xor(k[1]),xor(k[2
]),xor(k[3]),xor(k[4]),xor(k[5]),xor(k[6]),xor(k[7])]
        li.append(bb)
    print "Concluido ..."
    print
    #print li
    fire = csv.writer(open('ta.csv','wb'))
    fire.writerow(['Data', 'Hora', 'IP','Pais','Time Zone','Cidade','Latitude','Longitude'])

    for x in li: 
        fire.writerow(x)
        pass


if __name__ == '__main__':
    main()  
